Java String.replaceAll 正则表达式
全部标签 我想使用一个允许的正则表达式没有特殊字符的英文文本。没有特殊字符的法语文本。它将始终禁止在两种语言中使用特殊字符,如@、#、%等。我试过下面的代码:if(this.value.match(/[^a-zA-Z0-9]/g)){this.value=this.value.replace(/[^a-zA-Z0-9]/g,'');}它适用于英文文本,但问题是当我提供像éléphant这样的法文文本时,它会将法文字符视为特殊字符,并删除法文字符。所以éléphant变成了lphant。有没有办法允许正则表达式中包含法语字符?非常感谢。 最佳答案
我正在编写一个用于JavaScript的正则表达式。在测试时,我遇到了一些奇怪的行为并将其归结为以下几点:/^[a-z]/.test("abc");//我假设最后一个案例将返回false,因为它不符合正则表达式(值为null,因此不以范围内的字符开头)。那么,谁能向我解释为什么情况并非如此?如果我在C#中做同样的测试:varregex=newRegex("^[a-z]");varres=regex.IsMatch(null);//...我得到一个ArgumentNullException,这是有道理的。所以,我想在JavaScript中测试正则表达式时,您必须手动执行null检查吗?我
给定一个字符串:varstr1="25*5+5*7";如果不使用eval或JavaScript中的构造函数,我将如何编写一个名为“output”的函数来接收字符串并输出字符串的算术值,在这个案例是160? 最佳答案 这是递归解析后的完整优先表达式求值器我在对OP问题的评论中链接到的想法。为此,我首先为要处理的表达式编写了一个简单的BNF语法:sum=product|sum"+"product|sum"-"product;product=term|product"*"term|product"/"term;term="-"term|"
我想弄清楚我需要什么正则表达式来取值并用破折号替换空格(在Javascript中)?也就是说,如果我有北美,它会返回给我北美?我可以做类似varfoo=bar.replace('','-')的事情吗? 最佳答案 最好用:varstring="findthisandfindthat".replace(/find/g,"found");替换所有出现的地方。 关于javascript-用破折号替换空格的正则表达式,我们在StackOverflow上找到一个类似的问题:
我认为Regex不能用于检测缺少的括号(因为无法计算对数)的想法是否正确?使用JavaScript我有大约一千个字符串已被chop并需要手动编辑。我希望能够使用代码将此列表缩小到需要注意的列表。字符串可以被认为是以下形式:(这个可以,不需要注意)这也[好]这很糟糕(需要编辑这[(也)不好这是}不好这个字符串没有任何类型的括号,但也必须考虑如果这不可能,那么我只需要编写一个函数来查找括号对。谢谢 最佳答案 functionisFine(str){return/[(){}\[\]]/.test(str)&&(str.match(/\(/
我对下一个任务有点无能为力。我希望在"之间选择一个文本,它在标签内但不在标签外,即一个选择在另一个选择中。我有下一个标签:并且我只想选择位于"和标签之间的文本。应该被选中"没有被选中"也被选中"|>"没有被选中"我想一想(\)但它不起作用。 最佳答案 我已经使用两个正则表达式正确匹配了它。varinput='c"d"ef"j"kl';varoutput=input.match(//g).map(function(x){returnx.match(/"(.*?)"/g)})alert(output)如您所见,正确匹配“b”、“g”、“
我正在做一个简单的LookbehindAssertion来获取URL的一部分(下面的示例),但我没有获得匹配,而是收到以下错误:UncaughtSyntaxError:Invalidregularexpression:/(?这是我正在运行的脚本:varurl=window.location.toString();url==http://my.domain.com/index.php/#!/write-stuff/something-else//lookbehindtoonlymatchthesegmentafterthehash-bang.varregex=/(?结果应该是write-
我有以下网址:http://example.com/product/1/something/another-thing虽然也可以是:http://test.example.com/product/1/something/another-thing或http://completelydifferentdomain.tdl/product/1/something/another-thing我想使用Javascript从URL中获取数字1(id)。唯一永远相同的是/product。但是我还有一些其他页面,其中url中也有/product,只是不在路径的开头。正则表达式会是什么样子?
我有以下正则表达式/\([^\/我看到未转义的这个正则表达式被分配给一个变量,并在整个文件中使用。它在nodejs模块中。这是绕过不符合标准的OAUth响应的黑客攻击,将在未来的某个时候修复。我不想引入XML解析器作为解决问题的额外依赖项。我在JSHint和node-jslint中都看到了这种违规行为。您可以在github上查看该文件的完整源代码JSHint的准确输出如下:lib/oauth-helper.js:line5,col21,Unexpectedescapedcharacter' 最佳答案 没有必要对正则表达式中的“
>varp=/abc/gi;>vars="abc";>p.test(s);true>p.test(s);false;当我在Chrome的控制台上运行此代码时,上面有此输出。每次调用'.test()'时,我都会得到不同的值。有人可以向我解释为什么会这样吗?谢谢 最佳答案 该行为是由于“g”修饰符,即匹配三次,第四次不匹配:>varp=/a/gi;>vars="aaa";>p.test(s)true>p.test(s)true>p.test(s)true>p.test(s)false查看类似问题:WhyRegExpwithglobalf